package com.service.infoEntry.entity;

import lombok.Data;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

@Data
public class ProgrammeInfo {
    /**
     * 项目id
     */
    private String id;
    /**
     * 项目编号:年月日XXX(如2021080901) 序号
     */
    private String num;
    /**
     * 合同号
     */
    private String contractNo;
    /**
     * 项目名称
     */
    private String name;
    /**
     * 服务类型：网络云服务（含老云管理）安全云服务 混合类（网络+安全+其他）
     */
    private String serviceType;
    /**
     * 项目类型：新项目，新项目+存量项目，MSP-新项目，MSP-存量项目，MSP-新项目+存量项目
     */
    private String programmeType;
    /**
     * 创建者id
     */
    private String userId;
    /**
     * 团队id
     */
    private String teamId;
    /**
     * 项目描述
     */
    private String description;
    /**
     * 行业
     */
    private String business;
    /**
     * L3行业
     */
    private String industryLevelThree;
    /**
     * 代表处（新增）
     */
    private String repOffice;
    /**
     * 区域
     */
    private String region;
    /**
     * 立项时间
     */
    private Date addTime;
    /**
     * 录入时间（自动生成）
     */
    private Date insertDate;
    /**
     * 项目状态修改后：0--启动 1--POC试用 2--形成PO 3--交付验收 4--形成收入 1-1--挂起（试用未转商用）1-2--丢标（异常关闭）
     * :0-启动;1-下单;2-交付;3-运维;4-关闭
     */
    private Integer status;
    /**
     * 项目把握度：0% 10% 25% 50% 75% 100%
     */
    private String proPower;
    /**
     * 项目背景（包括友商信息）
     */
    private String proBack;
    /**
     * 项目规模（设备型号+数量）
     */
    private String scale;
    /**
     * 跟踪状态 1--进行中 2--关闭 3--挂起
     */
    private Integer trackStatus;
    /**
     * 是否top项目：1--true 0--false（新增）
     */
    private Boolean isTop;
    /**
     * 预计试用台数
     */
    private Integer expTrialCount;
    /**
     * 已TRY台数
     */
    private Integer tryCount;
    /**
     * 已BUY台数
     */
    private Integer buyCount;
    /**
     * 预计商用台数
     */
    private Integer expCommercialCount;
    /**
     * 预估下单时间
     */
    private Date expOrderTime;
    /**
     * 实际下单时间
     */
    private Date actualOrderTime;
    /**
     * 项目进展
     */
    private String process;
    /**
     * 困难和风险
     */
    private String difficultiesOrRisk;
    /**
     * 一线客户经理
     */
    private String lineCusManage;
    /**
     * 一线商业经理
     */
    private String lineBusinessManage;
    /**
     * 一线行业代表
     */
    private String lineIndustryRep;
    /**
     * 产品经理
     */
    private String lineProductManage;
    /**
     * 运营责任人（新增）
     */
    private String operationPerson;
    /**
     * 是否私密:true-1-公开;false-0-私密
     */
    private String programmeStatus;
    /**
     * 项目关闭原因
     */
    private String closeReason;
    /**
     * 附件
     */
    private String accessories;
    /**
     * 刷新时间
     */
    private Date updateTime;
    /**
     * 项目关闭时间
     */
    private Date closeTime;
    /**
     * 客户联系人-姓名
     */
    private String cusContactsName;
    /**
     * 客户联系人-电话
     */
    private String cusContactsTel;
    /**
     * 客户联系人-邮箱
     */
    private String cusContactsEmail;
    /**
     * 问题举措
     */
    private String problemInitiatives;
    /**
     * MSP(销-硬件)名称
     */
    private String mspPinHwName;
    /**
     * MSP(销-硬件)联系人-姓名
     */
    private String mspPinHwConName;
    /**
     * MSP(销-硬件)-联系人-电话
     */
    private String mspPinHwConTel;
    /**
     * MSP(销-硬件)-联系人-邮箱
     */
    private String mspPinHwConEmail;
    /**
     * MSP(服-硬件)名称
     */
    private String mspSerHwName;
    /**
     * MSP(服-硬件)-联系人-邮箱
     */
    private String mspSerHwConEmail;
    /**
     * MSP(服-硬件)-联系人-电话
     */
    private String mspSerHwConTel;
    /**
     * MSP(服-硬件)联系人-姓名
     */
    private String mspSerHwConName;
    /**
     * MSP(销-云服务)名称
     */
    private String mspPinCloudName;
    /**
     * MSP(销-云服务)联系人-姓名
     */
    private String mspPinCloudConName;
    /**
     * MSP(销-云服务)联系人-电话
     */
    private String mspPinCloudConTel;
    /**
     * MSP(销-云服务)联系人-邮箱
     */
    private String mspPinCloudConEmail;
    /**
     * MSP(服-云服务)-名称
     */
    private String mspSerCloudName;
    /**
     * MSP(服-云服务)联系人-电话
     */
    private String mspSerCloudConTel;
    /**
     * MSP(服-云服务)联系人-姓名
     */
    private String mspSerCloudConName;
    /**
     * MSP(服-云服务)联系人-邮箱
     */
    private String mspSerCloudConEmail;
    /**
     * 客户名称
     */
    private String cusName;
    /**
     * 客户公司名称
     */
    private String cusCpName;
    /**
     * 客户公司地点
     */
    private String cusCpPlace;
    /**
     * 客户信息来源
     */
    private String cusInfoSource;
    /**
     * 客户线索获取日期
     */
    private Date cusClueSourceDate;
    /**
     * 客户标签
     */
    private String cusLabel;
    /**
     * 客户注册时间
     */
    private Date cusRegisterTime;
    /**
     * 客户乾坤云账号
     */
    private String cusTenantAccount;
    /**
     * 客户优先级标签
     */
    private String cusPriLabel;
    /**
     * 客户价值标签
     */
    private String cusValueLabel;
    /**
     * 客户需求
     */
    private String cusDemand;
    /**
     * 客户预算
     */
    private String cusBudget;
    /**
     * 客户上次联系时间
     */
    private Date cusLastContactTime;
    /**
     * 客户互动备注
     */
    private String cusRemarks;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    public String getProgrammeType() {
        return programmeType;
    }

    public void setProgrammeType(String programmeType) {
        this.programmeType = programmeType;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getTeamId() {
        return teamId;
    }

    public void setTeamId(String teamId) {
        this.teamId = teamId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getBusiness() {
        return business;
    }

    public void setBusiness(String business) {
        this.business = business;
    }

    public String getIndustryLevelThree() {
        return industryLevelThree;
    }

    public void setIndustryLevelThree(String industryLevelThree) {
        this.industryLevelThree = industryLevelThree;
    }

    public String getRepOffice() {
        return repOffice;
    }

    public void setRepOffice(String repOffice) {
        this.repOffice = repOffice;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public Date getInsertDate() {
        return insertDate;
    }

    public void setInsertDate(Date insertDate) {
        this.insertDate = insertDate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getProPower() {
        return proPower;
    }

    public void setProPower(String proPower) {
        this.proPower = proPower;
    }

    public String getProBack() {
        return proBack;
    }

    public void setProBack(String proBack) {
        this.proBack = proBack;
    }

    public String getScale() {
        return scale;
    }

    public void setScale(String scale) {
        this.scale = scale;
    }

    public Integer getTrackStatus() {
        return trackStatus;
    }

    public void setTrackStatus(Integer trackStatus) {
        this.trackStatus = trackStatus;
    }

    public Boolean getIsTop() {
        return isTop;
    }

    public void setIsTop(Boolean isTop) {
        this.isTop = isTop;
    }

    public Integer getExpTrialCount() {
        return expTrialCount;
    }

    public void setExpTrialCount(Integer expTrialCount) {
        this.expTrialCount = expTrialCount;
    }

    public Integer getTryCount() {
        return tryCount;
    }

    public void setTryCount(Integer tryCount) {
        this.tryCount = tryCount;
    }

    public Integer getBuyCount() {
        return buyCount;
    }

    public void setBuyCount(Integer buyCount) {
        this.buyCount = buyCount;
    }

    public Integer getExpCommercialCount() {
        return expCommercialCount;
    }

    public void setExpCommercialCount(Integer expCommercialCount) {
        this.expCommercialCount = expCommercialCount;
    }

    public Date getExpOrderTime() {
        return expOrderTime;
    }

    public void setExpOrderTime(Date expOrderTime) {
        this.expOrderTime = expOrderTime;
    }

    public Date getActualOrderTime() {
        return actualOrderTime;
    }

    public void setActualOrderTime(Date actualOrderTime) {
        this.actualOrderTime = actualOrderTime;
    }

    public String getProcess() {
        return process;
    }

    public void setProcess(String process) {
        this.process = process;
    }

    public String getDifficultiesOrRisk() {
        return difficultiesOrRisk;
    }

    public void setDifficultiesOrRisk(String difficultiesOrRisk) {
        this.difficultiesOrRisk = difficultiesOrRisk;
    }

    public String getLineCusManage() {
        return lineCusManage;
    }

    public void setLineCusManage(String lineCusManage) {
        this.lineCusManage = lineCusManage;
    }

    public String getLineBusinessManage() {
        return lineBusinessManage;
    }

    public void setLineBusinessManage(String lineBusinessManage) {
        this.lineBusinessManage = lineBusinessManage;
    }

    public String getLineIndustryRep() {
        return lineIndustryRep;
    }

    public void setLineIndustryRep(String lineIndustryRep) {
        this.lineIndustryRep = lineIndustryRep;
    }

    public String getLineProductManage() {
        return lineProductManage;
    }

    public void setLineProductManage(String lineProductManage) {
        this.lineProductManage = lineProductManage;
    }

    public String getOperationPerson() {
        return operationPerson;
    }

    public void setOperationPerson(String operationPerson) {
        this.operationPerson = operationPerson;
    }

    public String getProgrammeStatus() {
        return programmeStatus;
    }

    public void setProgrammeStatus(String programmeStatus) {
        this.programmeStatus = programmeStatus;
    }

    public String getCloseReason() {
        return closeReason;
    }

    public void setCloseReason(String closeReason) {
        this.closeReason = closeReason;
    }

    public String getAccessories() {
        return accessories;
    }

    public void setAccessories(String accessories) {
        this.accessories = accessories;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getCloseTime() {
        return closeTime;
    }

    public void setCloseTime(Date closeTime) {
        this.closeTime = closeTime;
    }

    public String getCusContactsName() {
        return cusContactsName;
    }

    public void setCusContactsName(String cusContactsName) {
        this.cusContactsName = cusContactsName;
    }

    public String getCusContactsTel() {
        return cusContactsTel;
    }

    public void setCusContactsTel(String cusContactsTel) {
        this.cusContactsTel = cusContactsTel;
    }

    public String getCusContactsEmail() {
        return cusContactsEmail;
    }

    public void setCusContactsEmail(String cusContactsEmail) {
        this.cusContactsEmail = cusContactsEmail;
    }

    public String getProblemInitiatives() {
        return problemInitiatives;
    }

    public void setProblemInitiatives(String problemInitiatives) {
        this.problemInitiatives = problemInitiatives;
    }

    public String getMspPinHwName() {
        return mspPinHwName;
    }

    public void setMspPinHwName(String mspPinHwName) {
        this.mspPinHwName = mspPinHwName;
    }

    public String getMspPinHwConName() {
        return mspPinHwConName;
    }

    public void setMspPinHwConName(String mspPinHwConName) {
        this.mspPinHwConName = mspPinHwConName;
    }

    public String getMspPinHwConTel() {
        return mspPinHwConTel;
    }

    public void setMspPinHwConTel(String mspPinHwConTel) {
        this.mspPinHwConTel = mspPinHwConTel;
    }

    public String getMspPinHwConEmail() {
        return mspPinHwConEmail;
    }

    public void setMspPinHwConEmail(String mspPinHwConEmail) {
        this.mspPinHwConEmail = mspPinHwConEmail;
    }

    public String getMspSerHwName() {
        return mspSerHwName;
    }

    public void setMspSerHwName(String mspSerHwName) {
        this.mspSerHwName = mspSerHwName;
    }

    public String getMspSerHwConEmail() {
        return mspSerHwConEmail;
    }

    public void setMspSerHwConEmail(String mspSerHwConEmail) {
        this.mspSerHwConEmail = mspSerHwConEmail;
    }

    public String getMspSerHwConTel() {
        return mspSerHwConTel;
    }

    public void setMspSerHwConTel(String mspSerHwConTel) {
        this.mspSerHwConTel = mspSerHwConTel;
    }

    public String getMspServeHwConName() {
        return mspSerHwConName;
    }

    public void setMspServeHwConName(String mspServeHwConName) {
        this.mspSerHwConName = mspServeHwConName;
    }

    public String getMspPinCloudName() {
        return mspPinCloudName;
    }

    public void setMspPinCloudName(String mspPinCloudName) {
        this.mspPinCloudName = mspPinCloudName;
    }

    public String getMspPinCloudConName() {
        return mspPinCloudConName;
    }

    public void setMspPinCloudConName(String mspPinCloudConName) {
        this.mspPinCloudConName = mspPinCloudConName;
    }

    public String getMspPinCloudConTel() {
        return mspPinCloudConTel;
    }

    public void setMspPinCloudConTel(String mspPinCloudConTel) {
        this.mspPinCloudConTel = mspPinCloudConTel;
    }

    public String getMspPinCloudConEmail() {
        return mspPinCloudConEmail;
    }

    public void setMspPinCloudConEmail(String mspPinCloudConEmail) {
        this.mspPinCloudConEmail = mspPinCloudConEmail;
    }

    public String getMspSerCloudName() {
        return mspSerCloudName;
    }

    public void setMspSerCloudName(String mspSerCloudName) {
        this.mspSerCloudName = mspSerCloudName;
    }

    public String getMspSerCloudConTel() {
        return mspSerCloudConTel;
    }

    public void setMspSerCloudConTel(String mspSerCloudConTel) {
        this.mspSerCloudConTel = mspSerCloudConTel;
    }

    public String getMspSerCloudConName() {
        return mspSerCloudConName;
    }

    public void setMspSerCloudConName(String mspSerCloudConName) {
        this.mspSerCloudConName = mspSerCloudConName;
    }

    public String getMspSerCloudConEmail() {
        return mspSerCloudConEmail;
    }

    public void setMspSerCloudConEmail(String mspSerCloudConEmail) {
        this.mspSerCloudConEmail = mspSerCloudConEmail;
    }

    public String getCusName() {
        return cusName;
    }

    public void setCusName(String cusName) {
        this.cusName = cusName;
    }

    public String getCusCpName() {
        return cusCpName;
    }

    public void setCusCpName(String cusCpName) {
        this.cusCpName = cusCpName;
    }

    public String getCusCpPlace() {
        return cusCpPlace;
    }

    public void setCusCpPlace(String cusCpPlace) {
        this.cusCpPlace = cusCpPlace;
    }

    public String getCusInfoSource() {
        return cusInfoSource;
    }

    public void setCusInfoSource(String cusInfoSource) {
        this.cusInfoSource = cusInfoSource;
    }

    public Date getCusClueSourceDate() {
        return cusClueSourceDate;
    }

    public void setCusClueSourceDate(Date cusClueSourceDate) {
        this.cusClueSourceDate = cusClueSourceDate;
    }

    public String getCusLabel() {
        return cusLabel;
    }

    public void setCusLabel(String cusLabel) {
        this.cusLabel = cusLabel;
    }

    public Date getCusRegisterTime() {
        return cusRegisterTime;
    }

    public void setCusRegisterTime(Date cusRegisterTime) {
        this.cusRegisterTime = cusRegisterTime;
    }

    public String getCusTenantAccount() {
        return cusTenantAccount;
    }

    public void setCusTenantAccount(String cusTenantAccount) {
        this.cusTenantAccount = cusTenantAccount;
    }

    public String getCusPriLabel() {
        return cusPriLabel;
    }

    public void setCusPriLabel(String cusPriLabel) {
        this.cusPriLabel = cusPriLabel;
    }

    public String getCusValueLabel() {
        return cusValueLabel;
    }

    public void setCusValueLabel(String cusValueLabel) {
        this.cusValueLabel = cusValueLabel;
    }

    public String getCusDemand() {
        return cusDemand;
    }

    public void setCusDemand(String cusDemand) {
        this.cusDemand = cusDemand;
    }

    public String getCusBudget() {
        return cusBudget;
    }

    public void setCusBudget(String cusBudget) {
        this.cusBudget = cusBudget;
    }

    public Date getCusLastContactTime() {
        return cusLastContactTime;
    }

    public void setCusLastContactTime(Date cusLastContactTime) {
        this.cusLastContactTime = cusLastContactTime;
    }

    public String getCusRemarks() {
        return cusRemarks;
    }

    public void setCusRemarks(String cusRemarks) {
        this.cusRemarks = cusRemarks;
    }
}
